home *** CD-ROM | disk | FTP | other *** search
Wrap
/* File: QuickTimeComponents.h Copyright: © 1984-1993 by Apple Computer, Inc., all rights reserved. WARNING This file was auto generated by the interfacer tool. Modifications must be made to the master file. */ #ifndef __QUICKTIMECOMPONENTS__ #define __QUICKTIMECOMPONENTS__ #ifndef __COMPONENTS__ #include <Components.h> /* #include <Types.h> */ /* #include <ConditionalMacros.h> */ /* #include <MixedMode.h> */ /* #include <Traps.h> */ #endif #ifndef __IMAGECOMPRESSION__ #include <ImageCompression.h> /* #include <Quickdraw.h> */ /* #include <QuickdrawText.h> */ /* #include <IntlResources.h> */ /* #include <QDOffscreen.h> */ /* #include <StandardFile.h> */ /* #include <Dialogs.h> */ /* #include <Windows.h> */ /* #include <Events.h> */ /* #include <OSUtils.h> */ /* #include <Controls.h> */ /* #include <Menus.h> */ /* #include <TextEdit.h> */ /* #include <Files.h> */ /* #include <SegLoad.h> */ #endif #ifndef __MOVIES__ #include <Movies.h> /* #include <Aliases.h> */ /* #include <AppleTalk.h> */ /* #include <ToolUtils.h> */ /* #include <TextUtils.h> */ /* #include <Script.h> */ /* #include <FixMath.h> */ #endif #ifndef __QUICKDRAW__ #endif #ifndef __VIDEO__ #include <Video.h> #endif #define clockComponentType 'clok' #define systemTickClock 'tick' #define systemSecondClock 'seco' #define systemMillisecondClock 'mill' #define systemMicrosecondClock 'micr' enum { kClockRateIsLinear = 1, kClockImplementsCallBacks = 2 }; #define ClockGetTime GetClockTime #ifdef __cplusplus extern "C" { #endif extern pascal ComponentResult GetClockTime(ComponentInstance aClock, TimeRecord *out) FIVEWORDINLINE(0x2F3C, 0x4, 0x1, 0x7000, 0xA82A); extern pascal QTCallBack ClockNewCallBack(ComponentInstance aClock, TimeBase tb, short callBackType) FIVEWORDINLINE(0x2F3C, 0x6, 0x2, 0x7000, 0xA82A); extern pascal ComponentResult ClockDisposeCallBack(ComponentInstance aClock, QTCallBack cb) FIVEWORDINLINE(0x2F3C, 0x4, 0x3, 0x7000, 0xA82A); extern pascal ComponentResult ClockCallMeWhen(ComponentInstance aClock, QTCallBack cb, long param1, long param2, long param3) FIVEWORDINLINE(0x2F3C, 0x10, 0x4, 0x7000, 0xA82A); extern pascal ComponentResult ClockCancelCallBack(ComponentInstance aClock, QTCallBack cb) FIVEWORDINLINE(0x2F3C, 0x4, 0x5, 0x7000, 0xA82A); extern pascal ComponentResult ClockRateChanged(ComponentInstance aClock, QTCallBack cb) FIVEWORDINLINE(0x2F3C, 0x4, 0x6, 0x7000, 0xA82A); extern pascal ComponentResult ClockTimeChanged(ComponentInstance aClock, QTCallBack cb) FIVEWORDINLINE(0x2F3C, 0x4, 0x7, 0x7000, 0xA82A); extern pascal ComponentResult ClockSetTimeBase(ComponentInstance aClock, TimeBase tb) FIVEWORDINLINE(0x2F3C, 0x4, 0x8, 0x7000, 0xA82A); extern pascal ComponentResult ClockStartStopChanged(ComponentInstance aClock, QTCallBack cb, Boolean startChanged, Boolean stopChanged) FIVEWORDINLINE(0x2F3C, 0x8, 0x9, 0x7000, 0xA82A); extern pascal ComponentResult ClockGetRate(ComponentInstance aClock, Fixed *rate) FIVEWORDINLINE(0x2F3C, 0x4, 0xA, 0x7000, 0xA82A); #ifdef __cplusplus } #endif enum { kClockGetTimeSelect = 0x1, kClockNewCallBackSelect = 0x2, kClockDisposeCallBackSelect = 0x3, kClockCallMeWhenSelect = 0x4, kClockCancelCallBackSelect = 0x5, kClockRateChangedSelect = 0x6, kClockTimeChangedSelect = 0x7, kClockSetTimeBaseSelect = 0x8, kClockStartStopChangedSelect = 0x9, kClockGetRateSelect = 0xA }; typedef ComponentInstance SeqGrabComponent; typedef ComponentInstance SGChannel; #define SeqGrabComponentType 'barg' #define SeqGrabChannelType 'sgch' #define SeqGrabPanelType 'sgpn' #define SeqGrabCompressionPanelType 'comp' #define SeqGrabSourcePanelType 'sour' enum { seqGrabToDisk = 1, seqGrabToMemory = 2, seqGrabDontUseTempMemory = 4, seqGrabAppendToFile = 8, seqGrabDontAddMovieResource = 16, seqGrabDontMakeMovie = 32, seqGrabPreExtendFile = 64 }; typedef unsigned long SeqGrabDataOutputEnum; enum { seqGrabRecord = 1, seqGrabPreview = 2, seqGrabPlayDuringRecord = 4 }; typedef unsigned long SeqGrabUsageEnum; enum { seqGrabHasBounds = 1, seqGrabHasVolume = 2, seqGrabHasDiscreteSamples = 4 }; typedef unsigned long SeqGrabChannelInfoEnum; #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct seqGrabFrameInfo { long frameOffset; long frameTime; long frameSize; SGChannel frameChannel; long frameRefCon; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct seqGrabFrameInfo seqGrabFrameInfo; enum { grabPictOffScreen = 1, grabPictIgnoreClip = 2, grabPictCurrentImage = 4 }; #define sgFlagControlledGrab (1) typedef pascal OSErr (*SGDataProcPtr)(SGChannel c, Ptr p, long len, long *offset, long chRefCon, TimeValue time, short writeType, long refCon); enum { uppSGDataProcInfo = kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(OSErr))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SGChannel))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Ptr))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long))) | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long*))) | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(long))) | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(TimeValue))) | STACK_ROUTINE_PARAMETER(7, SIZE_CODE(sizeof(short))) | STACK_ROUTINE_PARAMETER(8, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr SGDataUPP; #define CallSGDataProc(userRoutine, c, p, len, offset, chRefCon, time, writeType, refCon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppSGDataProcInfo, (c), (p), (len), (offset), (chRefCon), (time), (writeType), (refCon)) #define NewSGDataProc(userRoutine) \ (SGDataUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDataProcInfo, GetCurrentISA()) #else typedef SGDataProcPtr SGDataUPP; #define CallSGDataProc(userRoutine, c, p, len, offset, chRefCon, time, writeType, refCon) \ (*(userRoutine))((c), (p), (len), (offset), (chRefCon), (time), (writeType), (refCon)) #define NewSGDataProc(userRoutine) \ (SGDataUPP)(userRoutine) #endif #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct SGDeviceName { Str63 name; Handle icon; long flags; long refCon; long reserved; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct SGDeviceName SGDeviceName; #define sgDeviceNameFlagDeviceUnavailable (1) #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct SGDeviceListRecord { short count; short selectedIndex; long reserved; SGDeviceName entry[1]; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct SGDeviceListRecord SGDeviceListRecord; typedef SGDeviceListRecord *SGDeviceListPtr, **SGDeviceList; #define sgDeviceListWithIcons (1) #define sgDeviceListDontCheckAvailability (2) enum { seqGrabWriteAppend, seqGrabWriteReserve, seqGrabWriteFill }; enum { seqGrabUnpause = 0, seqGrabPause = 1, seqGrabPauseForMenu = 3 }; enum { channelFlagDontOpenResFile = 2, channelFlagHasDependency = 4 }; typedef pascal Boolean (*SGModalFilterProcPtr)(DialogPtr theDialog, EventRecord *theEvent, short *itemHit, long refCon); enum { uppSGModalFilterProcInfo = kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(Boolean))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DialogPtr))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(EventRecord*))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(short*))) | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr SGModalFilterUPP; #define CallSGModalFilterProc(userRoutine, theDialog, theEvent, itemHit, refCon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppSGModalFilterProcInfo, (theDialog), (theEvent), (itemHit), (refCon)) #define NewSGModalFilterProc(userRoutine) \ (SGModalFilterUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGModalFilterProcInfo, GetCurrentISA()) #else typedef SGModalFilterProcPtr SGModalFilterUPP; #define CallSGModalFilterProc(userRoutine, theDialog, theEvent, itemHit, refCon) \ (*(userRoutine))((theDialog), (theEvent), (itemHit), (refCon)) #define NewSGModalFilterProc(userRoutine) \ (SGModalFilterUPP)(userRoutine) #endif enum { sgPanelFlagForPanel = 1 }; #define channelPlayNormal 0 #define channelPlayFast 1 #define channelPlayHighQuality 2 #define channelPlayAllData 4 #ifdef __cplusplus extern "C" { #endif extern pascal ComponentResult SGInitialize(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0, 0x1, 0x7000, 0xA82A); extern pascal ComponentResult SGSetDataOutput(SeqGrabComponent s, FSSpec *movieFile, long whereFlags) FIVEWORDINLINE(0x2F3C, 0x8, 0x2, 0x7000, 0xA82A); extern pascal ComponentResult SGGetDataOutput(SeqGrabComponent s, FSSpec *movieFile, long *whereFlags) FIVEWORDINLINE(0x2F3C, 0x8, 0x3, 0x7000, 0xA82A); extern pascal ComponentResult SGSetGWorld(SeqGrabComponent s, CGrafPtr gp, GDHandle gd) FIVEWORDINLINE(0x2F3C, 0x8, 0x4, 0x7000, 0xA82A); extern pascal ComponentResult SGGetGWorld(SeqGrabComponent s, CGrafPtr *gp, GDHandle *gd) FIVEWORDINLINE(0x2F3C, 0x8, 0x5, 0x7000, 0xA82A); extern pascal ComponentResult SGNewChannel(SeqGrabComponent s, OSType channelType, SGChannel *ref) FIVEWORDINLINE(0x2F3C, 0x8, 0x6, 0x7000, 0xA82A); extern pascal ComponentResult SGDisposeChannel(SeqGrabComponent s, SGChannel c) FIVEWORDINLINE(0x2F3C, 0x4, 0x7, 0x7000, 0xA82A); extern pascal ComponentResult SGStartPreview(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0, 0x10, 0x7000, 0xA82A); extern pascal ComponentResult SGStartRecord(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0, 0x11, 0x7000, 0xA82A); extern pascal ComponentResult SGIdle(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0, 0x12, 0x7000, 0xA82A); extern pascal ComponentResult SGStop(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0, 0x13, 0x7000, 0xA82A); extern pascal ComponentResult SGPause(SeqGrabComponent s, Byte pause) FIVEWORDINLINE(0x2F3C, 0x2, 0x14, 0x7000, 0xA82A); extern pascal ComponentResult SGPrepare(SeqGrabComponent s, Boolean prepareForPreview, Boolean prepareForRecord) FIVEWORDINLINE(0x2F3C, 0x4, 0x15, 0x7000, 0xA82A); extern pascal ComponentResult SGRelease(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0, 0x16, 0x7000, 0xA82A); extern pascal Movie SGGetMovie(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0, 0x17, 0x7000, 0xA82A); extern pascal ComponentResult SGSetMaximumRecordTime(SeqGrabComponent s, unsigned long ticks) FIVEWORDINLINE(0x2F3C, 0x4, 0x18, 0x7000, 0xA82A); extern pascal ComponentResult SGGetMaximumRecordTime(SeqGrabComponent s, unsigned long *ticks) FIVEWORDINLINE(0x2F3C, 0x4, 0x19, 0x7000, 0xA82A); extern pascal ComponentResult SGGetStorageSpaceRemaining(SeqGrabComponent s, unsigned long *bytes) FIVEWORDINLINE(0x2F3C, 0x4, 0x1A, 0x7000, 0xA82A); extern pascal ComponentResult SGGetTimeRemaining(SeqGrabComponent s, long *ticksLeft) FIVEWORDINLINE(0x2F3C, 0x4, 0x1B, 0x7000, 0xA82A); extern pascal ComponentResult SGGrabPict(SeqGrabComponent s, PicHandle *p, const Rect *bounds, short offscreenDepth, long grabPictFlags) FIVEWORDINLINE(0x2F3C, 0xE, 0x1C, 0x7000, 0xA82A); extern pascal ComponentResult SGGetLastMovieResID(SeqGrabComponent s, short *resID) FIVEWORDINLINE(0x2F3C, 0x4, 0x1D, 0x7000, 0xA82A); extern pascal ComponentResult SGSetFlags(SeqGrabComponent s, long sgFlags) FIVEWORDINLINE(0x2F3C, 0x4, 0x1E, 0x7000, 0xA82A); extern pascal ComponentResult SGGetFlags(SeqGrabComponent s, long *sgFlags) FIVEWORDINLINE(0x2F3C, 0x4, 0x1F, 0x7000, 0xA82A); extern pascal ComponentResult SGSetDataProc(SeqGrabComponent s, SGDataUPP proc, long refCon) FIVEWORDINLINE(0x2F3C, 0x8, 0x20, 0x7000, 0xA82A); extern pascal ComponentResult SGNewChannelFromComponent(SeqGrabComponent s, SGChannel *newChannel, Component sgChannelComponent) FIVEWORDINLINE(0x2F3C, 0x8, 0x21, 0x7000, 0xA82A); extern pascal ComponentResult SGDisposeDeviceList(SeqGrabComponent s, SGDeviceList list) FIVEWORDINLINE(0x2F3C, 0x4, 0x22, 0x7000, 0xA82A); extern pascal ComponentResult SGAppendDeviceListToMenu(SeqGrabComponent s, SGDeviceList list, MenuHandle mh) FIVEWORDINLINE(0x2F3C, 0x8, 0x23, 0x7000, 0xA82A); extern pascal ComponentResult SGSetSettings(SeqGrabComponent s, UserData ud, long flags) FIVEWORDINLINE(0x2F3C, 0x8, 0x24, 0x7000, 0xA82A); extern pascal ComponentResult SGGetSettings(SeqGrabComponent s, UserData *ud, long flags) FIVEWORDINLINE(0x2F3C, 0x8, 0x25, 0x7000, 0xA82A); extern pascal ComponentResult SGGetIndChannel(SeqGrabComponent s, short index, SGChannel *ref, OSType *chanType) FIVEWORDINLINE(0x2F3C, 0xA, 0x26, 0x7000, 0xA82A); extern pascal ComponentResult SGUpdate(SeqGrabComponent s, RgnHandle updateRgn) FIVEWORDINLINE(0x2F3C, 0x4, 0x27, 0x7000, 0xA82A); extern pascal ComponentResult SGGetPause(SeqGrabComponent s, Byte *paused) FIVEWORDINLINE(0x2F3C, 0x4, 0x28, 0x7000, 0xA82A); extern pascal ComponentResult SGSettingsDialog(SeqGrabComponent s, SGChannel c, short numPanels, Component *panelList, long flags, SGModalFilterUPP proc, long procRefNum) FIVEWORDINLINE(0x2F3C, 0x16, 0x29, 0x7000, 0xA82A); extern pascal ComponentResult SGGetAlignmentProc(SeqGrabComponent s, ICMAlignmentProcRecordPtr alignmentProc) FIVEWORDINLINE(0x2F3C, 0x4, 0x2A, 0x7000, 0xA82A); extern pascal ComponentResult SGSetChannelSettings(SeqGrabComponent s, SGChannel c, UserData ud, long flags) FIVEWORDINLINE(0x2F3C, 0xC, 0x2B, 0x7000, 0xA82A); extern pascal ComponentResult SGGetChannelSettings(SeqGrabComponent s, SGChannel c, UserData *ud, long flags) FIVEWORDINLINE(0x2F3C, 0xC, 0x2C, 0x7000, 0xA82A); extern pascal ComponentResult SGWriteMovieData(SeqGrabComponent s, SGChannel c, Ptr p, long len, long *offset) FIVEWORDINLINE(0x2F3C, 0x10, 0x100, 0x7000, 0xA82A); extern pascal ComponentResult SGAddFrameReference(SeqGrabComponent s, seqGrabFrameInfo *frameInfo) FIVEWORDINLINE(0x2F3C, 0x4, 0x101, 0x7000, 0xA82A); extern pascal ComponentResult SGGetNextFrameReference(SeqGrabComponent s, seqGrabFrameInfo *frameInfo, TimeValue *frameDuration, long *frameNumber) FIVEWORDINLINE(0x2F3C, 0xC, 0x102, 0x7000, 0xA82A); extern pascal ComponentResult SGGetTimeBase(SeqGrabComponent s, TimeBase *tb) FIVEWORDINLINE(0x2F3C, 0x4, 0x103, 0x7000, 0xA82A); extern pascal ComponentResult SGSortDeviceList(SeqGrabComponent s, SGDeviceList list) FIVEWORDINLINE(0x2F3C, 0x4, 0x104, 0x7000, 0xA82A); extern pascal ComponentResult SGAddMovieData(SeqGrabComponent s, SGChannel c, Ptr p, long len, long *offset, long chRefCon, TimeValue time, short writeType) FIVEWORDINLINE(0x2F3C, 0x1A, 0x105, 0x7000, 0xA82A); extern pascal ComponentResult SGChangedSource(SeqGrabComponent s, SGChannel c) FIVEWORDINLINE(0x2F3C, 0x4, 0x106, 0x7000, 0xA82A); extern pascal ComponentResult SGSetChannelUsage(SGChannel c, long usage) FIVEWORDINLINE(0x2F3C, 0x4, 0x80, 0x7000, 0xA82A); extern pascal ComponentResult SGGetChannelUsage(SGChannel c, long *usage) FIVEWORDINLINE(0x2F3C, 0x4, 0x81, 0x7000, 0xA82A); extern pascal ComponentResult SGSetChannelBounds(SGChannel c, const Rect *bounds) FIVEWORDINLINE(0x2F3C, 0x4, 0x82, 0x7000, 0xA82A); extern pascal ComponentResult SGGetChannelBounds(SGChannel c, Rect *bounds) FIVEWORDINLINE(0x2F3C, 0x4, 0x83, 0x7000, 0xA82A); extern pascal ComponentResult SGSetChannelVolume(SGChannel c, short volume) FIVEWORDINLINE(0x2F3C, 0x2, 0x84, 0x7000, 0xA82A); extern pascal ComponentResult SGGetChannelVolume(SGChannel c, short *volume) FIVEWORDINLINE(0x2F3C, 0x4, 0x85, 0x7000, 0xA82A); extern pascal ComponentResult SGGetChannelInfo(SGChannel c, long *channelInfo) FIVEWORDINLINE(0x2F3C, 0x4, 0x86, 0x7000, 0xA82A); extern pascal ComponentResult SGSetChannelPlayFlags(SGChannel c, long playFlags) FIVEWORDINLINE(0x2F3C, 0x4, 0x87, 0x7000, 0xA82A); extern pascal ComponentResult SGGetChannelPlayFlags(SGChannel c, long *playFlags) FIVEWORDINLINE(0x2F3C, 0x4, 0x88, 0x7000, 0xA82A); extern pascal ComponentResult SGSetChannelMaxFrames(SGChannel c, long frameCount) FIVEWORDINLINE(0x2F3C, 0x4, 0x89, 0x7000, 0xA82A); extern pascal ComponentResult SGGetChannelMaxFrames(SGChannel c, long *frameCount) FIVEWORDINLINE(0x2F3C, 0x4, 0x8A, 0x7000, 0xA82A); extern pascal ComponentResult SGSetChannelRefCon(SGChannel c, long refCon) FIVEWORDINLINE(0x2F3C, 0x4, 0x8B, 0x7000, 0xA82A); extern pascal ComponentResult SGSetChannelClip(SGChannel c, RgnHandle theClip) FIVEWORDINLINE(0x2F3C, 0x4, 0x8C, 0x7000, 0xA82A); extern pascal ComponentResult SGGetChannelClip(SGChannel c, RgnHandle *theClip) FIVEWORDINLINE(0x2F3C, 0x4, 0x8D, 0x7000, 0xA82A); extern pascal ComponentResult SGGetChannelSampleDescription(SGChannel c, Handle sampleDesc) FIVEWORDINLINE(0x2F3C, 0x4, 0x8E, 0x7000, 0xA82A); extern pascal ComponentResult SGGetChannelDeviceList(SGChannel c, long selectionFlags, SGDeviceList *list) FIVEWORDINLINE(0x2F3C, 0x8, 0x8F, 0x7000, 0xA82A); extern pascal ComponentResult SGSetChannelDevice(SGChannel c, StringPtr name) FIVEWORDINLINE(0x2F3C, 0x4, 0x90, 0x7000, 0xA82A); extern pascal ComponentResult SGSetChannelMatrix(SGChannel c, const MatrixRecord *m) FIVEWORDINLINE(0x2F3C, 0x4, 0x91, 0x7000, 0xA82A); extern pascal ComponentResult SGGetChannelMatrix(SGChannel c, MatrixRecord *m) FIVEWORDINLINE(0x2F3C, 0x4, 0x92, 0x7000, 0xA82A); extern pascal ComponentResult SGGetChannelTimeScale(SGChannel c, TimeScale *scale) FIVEWORDINLINE(0x2F3C, 0x4, 0x93, 0x7000, 0xA82A); extern pascal ComponentResult SGChannelPutPicture(SGChannel c) FIVEWORDINLINE(0x2F3C, 0, 0x94, 0x7000, 0xA82A); extern pascal ComponentResult SGInitChannel(SGChannel c, SeqGrabComponent owner) FIVEWORDINLINE(0x2F3C, 0x4, 0x180, 0x7000, 0xA82A); extern pascal ComponentResult SGWriteSamples(SGChannel c, Movie m, AliasHandle theFile) FIVEWORDINLINE(0x2F3C, 0x8, 0x181, 0x7000, 0xA82A); extern pascal ComponentResult SGGetDataRate(SGChannel c, long *bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x4, 0x182, 0x7000, 0xA82A); extern pascal ComponentResult SGAlignChannelRect(SGChannel c, Rect *r) FIVEWORDINLINE(0x2F3C, 0x4, 0x183, 0x7000, 0xA82A); extern pascal ComponentResult SGPanelGetDitl(SeqGrabComponent s, Handle *ditl) FIVEWORDINLINE(0x2F3C, 0x4, 0x200, 0x7000, 0xA82A); extern pascal ComponentResult SGPanelGetTitle(SeqGrabComponent s, Str255 title) FIVEWORDINLINE(0x2F3C, 0x4, 0x201, 0x7000, 0xA82A); extern pascal ComponentResult SGPanelCanRun(SeqGrabComponent s, SGChannel c) FIVEWORDINLINE(0x2F3C, 0x4, 0x202, 0x7000, 0xA82A); extern pascal ComponentResult SGPanelInstall(SeqGrabComponent s, SGChannel c, DialogPtr d, short itemOffset) FIVEWORDINLINE(0x2F3C, 0xA, 0x203, 0x7000, 0xA82A); extern pascal ComponentResult SGPanelEvent(SeqGrabComponent s, SGChannel c, DialogPtr d, short itemOffset, EventRecord *theEvent, short *itemHit, Boolean *handled) FIVEWORDINLINE(0x2F3C, 0x16, 0x204, 0x7000, 0xA82A); extern pascal ComponentResult SGPanelItem(SeqGrabComponent s, SGChannel c, DialogPtr d, short itemOffset, short itemNum) FIVEWORDINLINE(0x2F3C, 0xC, 0x205, 0x7000, 0xA82A); extern pascal ComponentResult SGPanelRemove(SeqGrabComponent s, SGChannel c, DialogPtr d, short itemOffset) FIVEWORDINLINE(0x2F3C, 0xA, 0x206, 0x7000, 0xA82A); extern pascal ComponentResult SGPanelSetGrabber(SeqGrabComponent s, SeqGrabComponent sg) FIVEWORDINLINE(0x2F3C, 0x4, 0x207, 0x7000, 0xA82A); extern pascal ComponentResult SGPanelSetResFile(SeqGrabComponent s, short resRef) FIVEWORDINLINE(0x2F3C, 0x2, 0x208, 0x7000, 0xA82A); extern pascal ComponentResult SGPanelGetSettings(SeqGrabComponent s, SGChannel c, UserData *ud, long flags) FIVEWORDINLINE(0x2F3C, 0xC, 0x209, 0x7000, 0xA82A); extern pascal ComponentResult SGPanelSetSettings(SeqGrabComponent s, SGChannel c, UserData ud, long flags) FIVEWORDINLINE(0x2F3C, 0xC, 0x20A, 0x7000, 0xA82A); extern pascal ComponentResult SGPanelValidateInput(SeqGrabComponent s, Boolean *ok) FIVEWORDINLINE(0x2F3C, 0x4, 0x20B, 0x7000, 0xA82A); #ifdef __cplusplus } #endif #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct SGCompressInfo { Ptr buffer; unsigned long bufferSize; unsigned char similarity; unsigned char reserved; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct SGCompressInfo SGCompressInfo; typedef pascal ComponentResult (*SGGrabProcPtr)(SGChannel c, short bufferNum, long refCon); enum { uppSGGrabProcInfo = kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SGChannel))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr SGGrabUPP; #define CallSGGrabProc(userRoutine, c, bufferNum, refCon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppSGGrabProcInfo, (c), (bufferNum), (refCon)) #define NewSGGrabProc(userRoutine) \ (SGGrabUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabProcInfo, GetCurrentISA()) #else typedef SGGrabProcPtr SGGrabUPP; #define CallSGGrabProc(userRoutine, c, bufferNum, refCon) \ (*(userRoutine))((c), (bufferNum), (refCon)) #define NewSGGrabProc(userRoutine) \ (SGGrabUPP)(userRoutine) #endif typedef pascal ComponentResult (*SGGrabCompleteProcPtr)(SGChannel c, short bufferNum, Boolean *done, long refCon); enum { uppSGGrabCompleteProcInfo = kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SGChannel))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(Boolean*))) | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr SGGrabCompleteUPP; #define CallSGGrabCompleteProc(userRoutine, c, bufferNum, done, refCon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppSGGrabCompleteProcInfo, (c), (bufferNum), (done), (refCon)) #define NewSGGrabCompleteProc(userRoutine) \ (SGGrabCompleteUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabCompleteProcInfo, GetCurrentISA()) #else typedef SGGrabCompleteProcPtr SGGrabCompleteUPP; #define CallSGGrabCompleteProc(userRoutine, c, bufferNum, done, refCon) \ (*(userRoutine))((c), (bufferNum), (done), (refCon)) #define NewSGGrabCompleteProc(userRoutine) \ (SGGrabCompleteUPP)(userRoutine) #endif typedef pascal ComponentResult (*SGDisplayProcPtr)(SGChannel c, short bufferNum, MatrixRecord *mp, RgnHandle clipRgn, long refCon); enum { uppSGDisplayProcInfo = kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SGChannel))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(MatrixRecord*))) | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(RgnHandle))) | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr SGDisplayUPP; #define CallSGDisplayProc(userRoutine, c, bufferNum, mp, clipRgn, refCon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppSGDisplayProcInfo, (c), (bufferNum), (mp), (clipRgn), (refCon)) #define NewSGDisplayProc(userRoutine) \ (SGDisplayUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDisplayProcInfo, GetCurrentISA()) #else typedef SGDisplayProcPtr SGDisplayUPP; #define CallSGDisplayProc(userRoutine, c, bufferNum, mp, clipRgn, refCon) \ (*(userRoutine))((c), (bufferNum), (mp), (clipRgn), (refCon)) #define NewSGDisplayProc(userRoutine) \ (SGDisplayUPP)(userRoutine) #endif typedef pascal ComponentResult (*SGCompressProcPtr)(SGChannel c, short bufferNum, long refCon); enum { uppSGCompressProcInfo = kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SGChannel))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr SGCompressUPP; #define CallSGCompressProc(userRoutine, c, bufferNum, refCon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppSGCompressProcInfo, (c), (bufferNum), (refCon)) #define NewSGCompressProc(userRoutine) \ (SGCompressUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGCompressProcInfo, GetCurrentISA()) #else typedef SGCompressProcPtr SGCompressUPP; #define CallSGCompressProc(userRoutine, c, bufferNum, refCon) \ (*(userRoutine))((c), (bufferNum), (refCon)) #define NewSGCompressProc(userRoutine) \ (SGCompressUPP)(userRoutine) #endif typedef pascal ComponentResult (*SGCompressCompleteProcPtr)(SGChannel c, short bufferNum, Boolean *done, SGCompressInfo *ci, long refCon); enum { uppSGCompressCompleteProcInfo = kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SGChannel))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(Boolean*))) | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(SGCompressInfo*))) | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr SGCompressCompleteUPP; #define CallSGCompressCompleteProc(userRoutine, c, bufferNum, done, ci, refCon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppSGCompressCompleteProcInfo, (c), (bufferNum), (done), (ci), (refCon)) #define NewSGCompressCompleteProc(userRoutine) \ (SGCompressCompleteUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGCompressCompleteProcInfo, GetCurrentISA()) #else typedef SGCompressCompleteProcPtr SGCompressCompleteUPP; #define CallSGCompressCompleteProc(userRoutine, c, bufferNum, done, ci, refCon) \ (*(userRoutine))((c), (bufferNum), (done), (ci), (refCon)) #define NewSGCompressCompleteProc(userRoutine) \ (SGCompressCompleteUPP)(userRoutine) #endif typedef pascal ComponentResult (*SGAddFrameProcPtr)(SGChannel c, short bufferNum, TimeValue atTime, TimeScale scale, const SGCompressInfo *ci, long refCon); enum { uppSGAddFrameProcInfo = kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SGChannel))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(TimeValue))) | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(TimeScale))) | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(SGCompressInfo*))) | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr SGAddFrameUPP; #define CallSGAddFrameProc(userRoutine, c, bufferNum, atTime, scale, ci, refCon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppSGAddFrameProcInfo, (c), (bufferNum), (atTime), (scale), (ci), (refCon)) #define NewSGAddFrameProc(userRoutine) \ (SGAddFrameUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGAddFrameProcInfo, GetCurrentISA()) #else typedef SGAddFrameProcPtr SGAddFrameUPP; #define CallSGAddFrameProc(userRoutine, c, bufferNum, atTime, scale, ci, refCon) \ (*(userRoutine))((c), (bufferNum), (atTime), (scale), (ci), (refCon)) #define NewSGAddFrameProc(userRoutine) \ (SGAddFrameUPP)(userRoutine) #endif typedef pascal ComponentResult (*SGTransferFrameProcPtr)(SGChannel c, short bufferNum, MatrixRecord *mp, RgnHandle clipRgn, long refCon); enum { uppSGTransferFrameProcInfo = kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SGChannel))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(MatrixRecord*))) | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(RgnHandle))) | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr SGTransferFrameUPP; #define CallSGTransferFrameProc(userRoutine, c, bufferNum, mp, clipRgn, refCon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppSGTransferFrameProcInfo, (c), (bufferNum), (mp), (clipRgn), (refCon)) #define NewSGTransferFrameProc(userRoutine) \ (SGTransferFrameUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGTransferFrameProcInfo, GetCurrentISA()) #else typedef SGTransferFrameProcPtr SGTransferFrameUPP; #define CallSGTransferFrameProc(userRoutine, c, bufferNum, mp, clipRgn, refCon) \ (*(userRoutine))((c), (bufferNum), (mp), (clipRgn), (refCon)) #define NewSGTransferFrameProc(userRoutine) \ (SGTransferFrameUPP)(userRoutine) #endif typedef pascal ComponentResult (*SGGrabCompressCompleteProcPtr)(SGChannel c, Boolean *done, SGCompressInfo *ci, TimeRecord *t, long refCon); enum { uppSGGrabCompressCompleteProcInfo = kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SGChannel))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Boolean*))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(SGCompressInfo*))) | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(TimeRecord*))) | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr SGGrabCompressCompleteUPP; #define CallSGGrabCompressCompleteProc(userRoutine, c, done, ci, t, refCon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppSGGrabCompressCompleteProcInfo, (c), (done), (ci), (t), (refCon)) #define NewSGGrabCompressCompleteProc(userRoutine) \ (SGGrabCompressCompleteUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabCompressCompleteProcInfo, GetCurrentISA()) #else typedef SGGrabCompressCompleteProcPtr SGGrabCompressCompleteUPP; #define CallSGGrabCompressCompleteProc(userRoutine, c, done, ci, t, refCon) \ (*(userRoutine))((c), (done), (ci), (t), (refCon)) #define NewSGGrabCompressCompleteProc(userRoutine) \ (SGGrabCompressCompleteUPP)(userRoutine) #endif typedef pascal ComponentResult (*SGDisplayCompressProcPtr)(SGChannel c, Ptr dataPtr, ImageDescriptionHandle desc, MatrixRecord *mp, RgnHandle clipRgn, long refCon); enum { uppSGDisplayCompressProcInfo = kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SGChannel))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Ptr))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(ImageDescriptionHandle))) | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(MatrixRecord*))) | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(RgnHandle))) | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr SGDisplayCompressUPP; #define CallSGDisplayCompressProc(userRoutine, c, dataPtr, desc, mp, clipRgn, refCon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppSGDisplayCompressProcInfo, (c), (dataPtr), (desc), (mp), (clipRgn), (refCon)) #define NewSGDisplayCompressProc(userRoutine) \ (SGDisplayCompressUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDisplayCompressProcInfo, GetCurrentISA()) #else typedef SGDisplayCompressProcPtr SGDisplayCompressUPP; #define CallSGDisplayCompressProc(userRoutine, c, dataPtr, desc, mp, clipRgn, refCon) \ (*(userRoutine))((c), (dataPtr), (desc), (mp), (clipRgn), (refCon)) #define NewSGDisplayCompressProc(userRoutine) \ (SGDisplayCompressUPP)(userRoutine) #endif #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct VideoBottles { short procCount; SGGrabUPP grabProc; SGGrabCompleteUPP grabCompleteProc; SGDisplayUPP displayProc; SGCompressUPP compressProc; SGCompressCompleteUPP compressCompleteProc; SGAddFrameUPP addFrameProc; SGTransferFrameUPP transferFrameProc; SGGrabCompressCompleteUPP grabCompressCompleteProc; SGDisplayCompressUPP displayCompressProc; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct VideoBottles VideoBottles; #ifdef __cplusplus extern "C" { #endif extern pascal ComponentResult SGGetSrcVideoBounds(SGChannel c, Rect *r) FIVEWORDINLINE(0x2F3C, 0x4, 0x100, 0x7000, 0xA82A); extern pascal ComponentResult SGSetVideoRect(SGChannel c, Rect *r) FIVEWORDINLINE(0x2F3C, 0x4, 0x101, 0x7000, 0xA82A); extern pascal ComponentResult SGGetVideoRect(SGChannel c, Rect *r) FIVEWORDINLINE(0x2F3C, 0x4, 0x102, 0x7000, 0xA82A); extern pascal ComponentResult SGGetVideoCompressorType(SGChannel c, OSType *compressorType) FIVEWORDINLINE(0x2F3C, 0x4, 0x103, 0x7000, 0xA82A); extern pascal ComponentResult SGSetVideoCompressorType(SGChannel c, OSType compressorType) FIVEWORDINLINE(0x2F3C, 0x4, 0x104, 0x7000, 0xA82A); extern pascal ComponentResult SGSetVideoCompressor(SGChannel c, short depth, CompressorComponent compressor, CodecQ spatialQuality, CodecQ temporalQuality, long keyFrameRate) FIVEWORDINLINE(0x2F3C, 0x12, 0x105, 0x7000, 0xA82A); extern pascal ComponentResult SGGetVideoCompressor(SGChannel c, short *depth, CompressorComponent *compressor, CodecQ *spatialQuality, CodecQ *temporalQuality, long *keyFrameRate) FIVEWORDINLINE(0x2F3C, 0x14, 0x106, 0x7000, 0xA82A); extern pascal ComponentInstance SGGetVideoDigitizerComponent(SGChannel c) FIVEWORDINLINE(0x2F3C, 0, 0x107, 0x7000, 0xA82A); extern pascal ComponentResult SGSetVideoDigitizerComponent(SGChannel c, ComponentInstance vdig) FIVEWORDINLINE(0x2F3C, 0x4, 0x108, 0x7000, 0xA82A); extern pascal ComponentResult SGVideoDigitizerChanged(SGChannel c) FIVEWORDINLINE(0x2F3C, 0, 0x109, 0x7000, 0xA82A); extern pascal ComponentResult SGSetVideoBottlenecks(SGChannel c, VideoBottles *vb) FIVEWORDINLINE(0x2F3C, 0x4, 0x10A, 0x7000, 0xA82A); extern pascal ComponentResult SGGetVideoBottlenecks(SGChannel c, VideoBottles *vb) FIVEWORDINLINE(0x2F3C, 0x4, 0x10B, 0x7000, 0xA82A); extern pascal ComponentResult SGGrabFrame(SGChannel c, short bufferNum) FIVEWORDINLINE(0x2F3C, 0x2, 0x10C, 0x7000, 0xA82A); extern pascal ComponentResult SGGrabFrameComplete(SGChannel c, short bufferNum, Boolean *done) FIVEWORDINLINE(0x2F3C, 0x6, 0x10D, 0x7000, 0xA82A); extern pascal ComponentResult SGDisplayFrame(SGChannel c, short bufferNum, MatrixRecord *mp, RgnHandle clipRgn) FIVEWORDINLINE(0x2F3C, 0xA, 0x10E, 0x7000, 0xA82A); extern pascal ComponentResult SGCompressFrame(SGChannel c, short bufferNum) FIVEWORDINLINE(0x2F3C, 0x2, 0x10F, 0x7000, 0xA82A); extern pascal ComponentResult SGCompressFrameComplete(SGChannel c, short bufferNum, Boolean *done, SGCompressInfo *ci) FIVEWORDINLINE(0x2F3C, 0xA, 0x110, 0x7000, 0xA82A); extern pascal ComponentResult SGAddFrame(SGChannel c, short bufferNum, TimeValue atTime, TimeScale scale, const SGCompressInfo *ci) FIVEWORDINLINE(0x2F3C, 0xE, 0x111, 0x7000, 0xA82A); extern pascal ComponentResult SGTransferFrameForCompress(SGChannel c, short bufferNum, MatrixRecord *mp, RgnHandle clipRgn) FIVEWORDINLINE(0x2F3C, 0xA, 0x112, 0x7000, 0xA82A); extern pascal ComponentResult SGSetCompressBuffer(SGChannel c, short depth, const Rect *compressSize) FIVEWORDINLINE(0x2F3C, 0x6, 0x113, 0x7000, 0xA82A); extern pascal ComponentResult SGGetCompressBuffer(SGChannel c, short *depth, Rect *compressSize) FIVEWORDINLINE(0x2F3C, 0x8, 0x114, 0x7000, 0xA82A); extern pascal ComponentResult SGGetBufferInfo(SGChannel c, short bufferNum, PixMapHandle *bufferPM, Rect *bufferRect, GWorldPtr *compressBuffer, Rect *compressBufferRect) FIVEWORDINLINE(0x2F3C, 0x12, 0x115, 0x7000, 0xA82A); extern pascal ComponentResult SGSetUseScreenBuffer(SGChannel c, Boolean useScreenBuffer) FIVEWORDINLINE(0x2F3C, 0x2, 0x116, 0x7000, 0xA82A); extern pascal ComponentResult SGGetUseScreenBuffer(SGChannel c, Boolean *useScreenBuffer) FIVEWORDINLINE(0x2F3C, 0x4, 0x117, 0x7000, 0xA82A); extern pascal ComponentResult SGGrabCompressComplete(SGChannel c, Boolean *done, SGCompressInfo *ci, TimeRecord *tr) FIVEWORDINLINE(0x2F3C, 0xC, 0x118, 0x7000, 0xA82A); extern pascal ComponentResult SGDisplayCompress(SGChannel c, Ptr dataPtr, ImageDescriptionHandle desc, MatrixRecord *mp, RgnHandle clipRgn) FIVEWORDINLINE(0x2F3C, 0x10, 0x119, 0x7000, 0xA82A); extern pascal ComponentResult SGSetFrameRate(SGChannel c, Fixed frameRate) FIVEWORDINLINE(0x2F3C, 0x4, 0x11A, 0x7000, 0xA82A); extern pascal ComponentResult SGGetFrameRate(SGChannel c, Fixed *frameRate) FIVEWORDINLINE(0x2F3C, 0x4, 0x11B, 0x7000, 0xA82A); #ifdef __cplusplus } #endif #ifdef __cplusplus extern "C" { #endif extern pascal ComponentResult SGSetSoundInputDriver(SGChannel c, const Str255 driverName) FIVEWORDINLINE(0x2F3C, 0x4, 0x100, 0x7000, 0xA82A); extern pascal long SGGetSoundInputDriver(SGChannel c) FIVEWORDINLINE(0x2F3C, 0, 0x101, 0x7000, 0xA82A); extern pascal ComponentResult SGSoundInputDriverChanged(SGChannel c) FIVEWORDINLINE(0x2F3C, 0, 0x102, 0x7000, 0xA82A); extern pascal ComponentResult SGSetSoundRecordChunkSize(SGChannel c, long seconds) FIVEWORDINLINE(0x2F3C, 0x4, 0x103, 0x7000, 0xA82A); extern pascal long SGGetSoundRecordChunkSize(SGChannel c) FIVEWORDINLINE(0x2F3C, 0, 0x104, 0x7000, 0xA82A); extern pascal ComponentResult SGSetSoundInputRate(SGChannel c, Fixed rate) FIVEWORDINLINE(0x2F3C, 0x4, 0x105, 0x7000, 0xA82A); extern pascal Fixed SGGetSoundInputRate(SGChannel c) FIVEWORDINLINE(0x2F3C, 0, 0x106, 0x7000, 0xA82A); extern pascal ComponentResult SGSetSoundInputParameters(SGChannel c, short sampleSize, short numChannels, OSType compressionType) FIVEWORDINLINE(0x2F3C, 0x8, 0x107, 0x7000, 0xA82A); extern pascal ComponentResult SGGetSoundInputParameters(SGChannel c, short *sampleSize, short *numChannels, OSType *compressionType) FIVEWORDINLINE(0x2F3C, 0xC, 0x108, 0x7000, 0xA82A); #ifdef __cplusplus } #endif #define sgChannelAtom 'chan' #define sgChannelSettingsAtom 'ctom' #define sgChannelDescription 'cdsc' #define sgChannelSettings 'cset' #define sgDeviceNameType 'name' #define sgUsageType 'use ' #define sgPlayFlagsType 'plyf' #define sgClipType 'clip' #define sgMatrixType 'mtrx' #define sgVolumeType 'volu' #define sgPanelSettingsAtom 'ptom' #define sgPanelDescription 'pdsc' #define sgPanelSettings 'pset' #define sgcSoundCompressionType 'scmp' #define sgcSoundSampleRateType 'srat' #define sgcSoundChannelCountType 'schn' #define sgcSoundSampleSizeType 'ssiz' #define sgcSoundInputType 'sinp' #define sgcSoundGainType 'gain' #define sgcVideoHueType 'hue ' #define sgcVideoSaturationType 'satr' #define sgcVideoContrastType 'trst' #define sgcVideoSharpnessType 'shrp' #define sgcVideoBrigtnessType 'brit' #define sgcVideoBlackLevelType 'blkl' #define sgcVideoWhiteLevelType 'whtl' #define sgcVideoInputType 'vinp' #define sgcVideoFormatType 'vstd' #define sgcVideoFilterType 'vflt' #define sgcVideoRectType 'vrct' #define sgVideoDigitizerType 'vdig' enum { kSGInitializeSelect = 0x1, kSGSetDataOutputSelect = 0x2, kSGGetDataOutputSelect = 0x3, kSGSetGWorldSelect = 0x4, kSGGetGWorldSelect = 0x5, kSGNewChannelSelect = 0x6, kSGDisposeChannelSelect = 0x7, kSGStartPreviewSelect = 0x10, kSGStartRecordSelect = 0x11, kSGIdleSelect = 0x12, kSGStopSelect = 0x13, kSGPauseSelect = 0x14, kSGPrepareSelect = 0x15, kSGReleaseSelect = 0x16, kSGGetMovieSelect = 0x17, kSGSetMaximumRecordTimeSelect = 0x18, kSGGetMaximumRecordTimeSelect = 0x19, kSGGetStorageSpaceRemainingSelect = 0x1A, kSGGetTimeRemainingSelect = 0x1B, kSGGrabPictSelect = 0x1C, kSGGetLastMovieResIDSelect = 0x1D, kSGSetFlagsSelect = 0x1E, kSGGetFlagsSelect = 0x1F, kSGSetDataProcSelect = 0x20, kSGNewChannelFromComponentSelect = 0x21, kSGDisposeDeviceListSelect = 0x22, kSGAppendDeviceListToMenuSelect = 0x23, kSGSetSettingsSelect = 0x24, kSGGetSettingsSelect = 0x25, kSGGetIndChannelSelect = 0x26, kSGUpdateSelect = 0x27, kSGGetPauseSelect = 0x28, kSGSettingsDialogSelect = 0x29, kSGGetAlignmentProcSelect = 0x2A, kSGSetChannelSettingsSelect = 0x2B, kSGGetChannelSettingsSelect = 0x2C, kSGWriteMovieDataSelect = 0x100, kSGAddFrameReferenceSelect = 0x101, kSGGetNextFrameReferenceSelect = 0x102, kSGGetTimeBaseSelect = 0x103, kSGSortDeviceListSelect = 0x104, kSGAddMovieDataSelect = 0x105, kSGChangedSourceSelect = 0x106, kSGCSetChannelUsageSelect = 0x80, kSGCGetChannelUsageSelect = 0x81, kSGCSetChannelBoundsSelect = 0x82, kSGCGetChannelBoundsSelect = 0x83, kSGCSetChannelVolumeSelect = 0x84, kSGCGetChannelVolumeSelect = 0x85, kSGCGetChannelInfoSelect = 0x86, kSGCSetChannelPlayFlagsSelect = 0x87, kSGCGetChannelPlayFlagsSelect = 0x88, kSGCSetChannelMaxFramesSelect = 0x89, kSGCGetChannelMaxFramesSelect = 0x8A, kSGCSetChannelRefConSelect = 0x8B, kSGCSetChannelClipSelect = 0x8C, kSGCGetChannelClipSelect = 0x8D, kSGCGetChannelSampleDescriptionSelect = 0x8E, kSGCGetChannelDeviceListSelect = 0x8F, kSGCSetChannelDeviceSelect = 0x90, kSGCSetChannelMatrixSelect = 0x91, kSGCGetChannelMatrixSelect = 0x92, kSGCGetChannelTimeScaleSelect = 0x93, kSGCChannelPutPictureSelect = 0x94, kSGCInitChannelSelect = 0x180, kSGCWriteSamplesSelect = 0x181, kSGCGetDataRateSelect = 0x182, kSGCAlignChannelRectSelect = 0x183, kSGCPanelGetDitlSelect = 0x200, kSGCPanelGetTitleSelect = 0x201, kSGCPanelCanRunSelect = 0x202, kSGCPanelInstallSelect = 0x203, kSGCPanelEventSelect = 0x204, kSGCPanelItemSelect = 0x205, kSGCPanelRemoveSelect = 0x206, kSGCPanelSetGrabberSelect = 0x207, kSGCPanelSetResFileSelect = 0x208, kSGCPanelGetSettingsSelect = 0x209, kSGCPanelSetSettingsSelect = 0x20A, kSGCPanelValidateInputSelect = 0x20B, kSGCGetSrcVideoBoundsSelect = 0x100, kSGCSetVideoRectSelect = 0x101, kSGCGetVideoRectSelect = 0x102, kSGCGetVideoCompressorTypeSelect = 0x103, kSGCSetVideoCompressorTypeSelect = 0x104, kSGCSetVideoCompressorSelect = 0x105, kSGCGetVideoCompressorSelect = 0x106, kSGCGetVideoDigitizerComponentSelect = 0x107, kSGCSetVideoDigitizerComponentSelect = 0x108, kSGCVideoDigitizerChangedSelect = 0x109, kSGCSetVideoBottlenecksSelect = 0x10A, kSGCGetVideoBottlenecksSelect = 0x10B, kSGCGrabFrameSelect = 0x10C, kSGCGrabFrameCompleteSelect = 0x10D, kSGCDisplayFrameSelect = 0x10E, kSGCCompressFrameSelect = 0x10F, kSGCCompressFrameCompleteSelect = 0x110, kSGCAddFrameSelect = 0x111, kSGCTransferFrameForCompressSelect = 0x112, kSGCSetCompressBufferSelect = 0x113, kSGCGetCompressBufferSelect = 0x114, kSGCGetBufferInfoSelect = 0x115, kSGCSetUseScreenBufferSelect = 0x116, kSGCGetUseScreenBufferSelect = 0x117, kSGCGrabCompressCompleteSelect = 0x118, kSGCDisplayCompressSelect = 0x119, kSGCSetFrameRateSelect = 0x11A, kSGCGetFrameRateSelect = 0x11B, kSGCSetSoundInputDriverSelect = 0x100, kSGCGetSoundInputDriverSelect = 0x101, kSGCSoundInputDriverChangedSelect = 0x102, kSGCSetSoundRecordChunkSizeSelect = 0x103, kSGCGetSoundRecordChunkSizeSelect = 0x104, kSGCSetSoundInputRateSelect = 0x105, kSGCGetSoundInputRateSelect = 0x106, kSGCSetSoundInputParametersSelect = 0x107, kSGCGetSoundInputParametersSelect = 0x108 }; #define videoDigitizerComponentType 'vdig' #define vdigInterfaceRev 2L #define ntscIn 0 #define currentIn 0 #define palIn 1 #define secamIn 2 #define ntscReallyIn 3 #define compositeIn 0 #define sVideoIn 1 #define rgbComponentIn 2 #define vdPlayThruOff 0 #define vdPlayThruOn 1 #define vdDigitizerBW 0 #define vdDigitizerRGB 1 #define vdBroadcastMode 0 #define vdVTRMode 1 #define vdUseAnyField 0 #define vdUseOddField 1 #define vdUseEvenField 2 #define vdTypeBasic 0 #define vdTypeAlpha 1 #define vdTypeMask 2 #define vdTypeKey 3 #define digiUnimpErr -2201 #define qtParamErr -2202 #define matrixErr -2203 #define notExactMatrix -2204 #define noMoreKeyColors -2205 #define notExactSize -2206 #define badDepth -2207 #define noDMA -2208 #define badCallOrder -2209 #define digiInDoesNTSC (1L<<0) #define digiInDoesPAL (1L<<1) #define digiInDoesSECAM (1L<<2) #define digiInDoesGenLock (1L<<7) #define digiInDoesComposite (1L<<8) #define digiInDoesSVideo (1L<<9) #define digiInDoesComponent (1L<<10) #define digiInVTR_Broadcast (1L<<11) #define digiInDoesColor (1L<<12) #define digiInDoesBW (1L<<13) #define digiInSignalLock (1L<<31) #define digiOutDoes1 (1L<<0) #define digiOutDoes2 (1L<<1) #define digiOutDoes4 (1L<<2) #define digiOutDoes8 (1L<<3) #define digiOutDoes16 (1L<<4) #define digiOutDoes32 (1L<<5) #define digiOutDoesDither (1L<<6) #define digiOutDoesStretch (1L<<7) #define digiOutDoesShrink (1L<<8) #define digiOutDoesMask (1L<<9) #define digiOutDoesDouble (1L<<11) #define digiOutDoesQuad (1L<<12) #define digiOutDoesQuarter (1L<<13) #define digiOutDoesSixteenth (1L<<14) #define digiOutDoesRotate (1L<<15) #define digiOutDoesHorizFlip (1L<<16) #define digiOutDoesVertFlip (1L<<17) #define digiOutDoesSkew (1L<<18) #define digiOutDoesBlend (1L<<19) #define digiOutDoesWarp (1L<<20) #define digiOutDoesHW_DMA (1L<<21) #define digiOutDoesHWPlayThru (1L<<22) #define digiOutDoesILUT (1L<<23) #define digiOutDoesKeyColor (1L<<24) #define digiOutDoesAsyncGrabs (1L<<25) #define digiOutDoesUnreadableScreenBits (1L<<26) #define digiOutDoesCompress (1L<<27) #define digiOutDoesCompressOnly (1L<<28) #define digiOutDoesPlayThruDuringCompress (1L<<29) typedef ComponentInstance VideoDigitizerComponent; typedef ComponentResult VideoDigitizerError; #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct DigitizerInfo { short vdigType; long inputCapabilityFlags; long outputCapabilityFlags; long inputCurrentFlags; long outputCurrentFlags; short slot; GDHandle gdh; GDHandle maskgdh; short minDestHeight; short minDestWidth; short maxDestHeight; short maxDestWidth; short blendLevels; long reserved; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct DigitizerInfo DigitizerInfo; #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct VdigType { long type; long reserved; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct VdigType VdigType; #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct VdigTypeList { short count; VdigType list[1]; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct VdigTypeList VdigTypeList; #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct VdigBufferRec { PixMapHandle dest; Point location; long reserved; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct VdigBufferRec VdigBufferRec; #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct VdigBufferRecList { short count; MatrixRecordPtr matrix; RgnHandle mask; VdigBufferRec list[1]; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct VdigBufferRecList VdigBufferRecList; typedef VdigBufferRecList *VdigBufferRecListPtr, **VdigBufferRecListHandle; typedef pascal void (*VdigIntProcPtr)(long flags, long refcon); enum { uppVdigIntProcInfo = kPascalStackBased | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(long))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr VdigIntUPP; #define CallVdigIntProc(userRoutine, flags, refcon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppVdigIntProcInfo, (flags), (refcon)) #define NewVdigIntProc(userRoutine) \ (VdigIntUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppVdigIntProcInfo, GetCurrentISA()) #else typedef VdigIntProcPtr VdigIntUPP; #define CallVdigIntProc(userRoutine, flags, refcon) \ (*(userRoutine))((flags), (refcon)) #define NewVdigIntProc(userRoutine) \ (VdigIntUPP)(userRoutine) #endif #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct VDCompressionList { CodecComponent codec; CodecType cType; Str63 typeName; Str63 name; long formatFlags; long compressFlags; long reserved; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct VDCompressionList VDCompressionList; typedef VDCompressionList *VDCompressionListPtr, **VDCompressionListHandle; enum { dmaDepth1 = 1, dmaDepth2 = 2, dmaDepth4 = 4, dmaDepth8 = 8, dmaDepth16 = 16, dmaDepth32 = 32, dmaDepth2Gray = 64, dmaDepth4Gray = 128, dmaDepth8Gray = 256 }; #define kVDIGControlledFrameRate (-1) enum { kvdigSelectors = 82 }; #ifdef __cplusplus extern "C" { #endif extern pascal VideoDigitizerError VDGetMaxSrcRect(VideoDigitizerComponent ci, short inputStd, Rect *maxSrcRect) FIVEWORDINLINE(0x2F3C, 0x6, 0x1, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetActiveSrcRect(VideoDigitizerComponent ci, short inputStd, Rect *activeSrcRect) FIVEWORDINLINE(0x2F3C, 0x6, 0x2, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetDigitizerRect(VideoDigitizerComponent ci, Rect *digitizerRect) FIVEWORDINLINE(0x2F3C, 0x4, 0x3, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetDigitizerRect(VideoDigitizerComponent ci, Rect *digitizerRect) FIVEWORDINLINE(0x2F3C, 0x4, 0x4, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetVBlankRect(VideoDigitizerComponent ci, short inputStd, Rect *vBlankRect) FIVEWORDINLINE(0x2F3C, 0x6, 0x5, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetMaskPixMap(VideoDigitizerComponent ci, PixMapHandle maskPixMap) FIVEWORDINLINE(0x2F3C, 0x4, 0x6, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetPlayThruDestination(VideoDigitizerComponent ci, PixMapHandle *dest, Rect *destRect, MatrixRecord *m, RgnHandle *mask) FIVEWORDINLINE(0x2F3C, 0x10, 0x8, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDUseThisCLUT(VideoDigitizerComponent ci, CTabHandle colorTableHandle) FIVEWORDINLINE(0x2F3C, 0x4, 0x9, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetInputGammaValue(VideoDigitizerComponent ci, Fixed channel1, Fixed channel2, Fixed channel3) FIVEWORDINLINE(0x2F3C, 0xC, 0xA, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetInputGammaValue(VideoDigitizerComponent ci, Fixed *channel1, Fixed *channel2, Fixed *channel3) FIVEWORDINLINE(0x2F3C, 0xC, 0xB, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetBrightness(VideoDigitizerComponent ci, unsigned short *brightness) FIVEWORDINLINE(0x2F3C, 0x4, 0xC, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetBrightness(VideoDigitizerComponent ci, unsigned short *brightness) FIVEWORDINLINE(0x2F3C, 0x4, 0xD, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetContrast(VideoDigitizerComponent ci, unsigned short *contrast) FIVEWORDINLINE(0x2F3C, 0x4, 0xE, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetHue(VideoDigitizerComponent ci, unsigned short *hue) FIVEWORDINLINE(0x2F3C, 0x4, 0xF, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetSharpness(VideoDigitizerComponent ci, unsigned short *sharpness) FIVEWORDINLINE(0x2F3C, 0x4, 0x10, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetSaturation(VideoDigitizerComponent ci, unsigned short *saturation) FIVEWORDINLINE(0x2F3C, 0x4, 0x11, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetContrast(VideoDigitizerComponent ci, unsigned short *contrast) FIVEWORDINLINE(0x2F3C, 0x4, 0x12, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetHue(VideoDigitizerComponent ci, unsigned short *hue) FIVEWORDINLINE(0x2F3C, 0x4, 0x13, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetSharpness(VideoDigitizerComponent ci, unsigned short *sharpness) FIVEWORDINLINE(0x2F3C, 0x4, 0x14, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetSaturation(VideoDigitizerComponent ci, unsigned short *saturation) FIVEWORDINLINE(0x2F3C, 0x4, 0x15, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGrabOneFrame(VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0, 0x16, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetMaxAuxBuffer(VideoDigitizerComponent ci, PixMapHandle *pm, Rect *r) FIVEWORDINLINE(0x2F3C, 0x8, 0x17, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetDigitizerInfo(VideoDigitizerComponent ci, DigitizerInfo *info) FIVEWORDINLINE(0x2F3C, 0x4, 0x19, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetCurrentFlags(VideoDigitizerComponent ci, long *inputCurrentFlag, long *outputCurrentFlag) FIVEWORDINLINE(0x2F3C, 0x8, 0x1A, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetKeyColor(VideoDigitizerComponent ci, long index) FIVEWORDINLINE(0x2F3C, 0x4, 0x1B, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetKeyColor(VideoDigitizerComponent ci, long *index) FIVEWORDINLINE(0x2F3C, 0x4, 0x1C, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDAddKeyColor(VideoDigitizerComponent ci, long *index) FIVEWORDINLINE(0x2F3C, 0x4, 0x1D, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetNextKeyColor(VideoDigitizerComponent ci, long index) FIVEWORDINLINE(0x2F3C, 0x4, 0x1E, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetKeyColorRange(VideoDigitizerComponent ci, RGBColor *minRGB, RGBColor *maxRGB) FIVEWORDINLINE(0x2F3C, 0x8, 0x1F, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetKeyColorRange(VideoDigitizerComponent ci, RGBColor *minRGB, RGBColor *maxRGB) FIVEWORDINLINE(0x2F3C, 0x8, 0x20, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetDigitizerUserInterrupt(VideoDigitizerComponent ci, long flags, VdigIntUPP userInterruptProc, long refcon) FIVEWORDINLINE(0x2F3C, 0xC, 0x21, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetInputColorSpaceMode(VideoDigitizerComponent ci, short colorSpaceMode) FIVEWORDINLINE(0x2F3C, 0x2, 0x22, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetInputColorSpaceMode(VideoDigitizerComponent ci, short *colorSpaceMode) FIVEWORDINLINE(0x2F3C, 0x4, 0x23, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetClipState(VideoDigitizerComponent ci, short clipEnable) FIVEWORDINLINE(0x2F3C, 0x2, 0x24, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetClipState(VideoDigitizerComponent ci, short *clipEnable) FIVEWORDINLINE(0x2F3C, 0x4, 0x25, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetClipRgn(VideoDigitizerComponent ci, RgnHandle clipRegion) FIVEWORDINLINE(0x2F3C, 0x4, 0x26, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDClearClipRgn(VideoDigitizerComponent ci, RgnHandle clipRegion) FIVEWORDINLINE(0x2F3C, 0x4, 0x27, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetCLUTInUse(VideoDigitizerComponent ci, CTabHandle *colorTableHandle) FIVEWORDINLINE(0x2F3C, 0x4, 0x28, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetPLLFilterType(VideoDigitizerComponent ci, short pllType) FIVEWORDINLINE(0x2F3C, 0x2, 0x29, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetPLLFilterType(VideoDigitizerComponent ci, short *pllType) FIVEWORDINLINE(0x2F3C, 0x4, 0x2A, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetMaskandValue(VideoDigitizerComponent ci, unsigned short blendLevel, long *mask, long *value) FIVEWORDINLINE(0x2F3C, 0xA, 0x2B, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetMasterBlendLevel(VideoDigitizerComponent ci, unsigned short *blendLevel) FIVEWORDINLINE(0x2F3C, 0x4, 0x2C, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetPlayThruDestination(VideoDigitizerComponent ci, PixMapHandle dest, Rect *destRect, MatrixRecord *m, RgnHandle mask) FIVEWORDINLINE(0x2F3C, 0x10, 0x2D, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetPlayThruOnOff(VideoDigitizerComponent ci, short state) FIVEWORDINLINE(0x2F3C, 0x2, 0x2E, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetFieldPreference(VideoDigitizerComponent ci, short fieldFlag) FIVEWORDINLINE(0x2F3C, 0x2, 0x2F, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetFieldPreference(VideoDigitizerComponent ci, short *fieldFlag) FIVEWORDINLINE(0x2F3C, 0x4, 0x30, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDPreflightDestination(VideoDigitizerComponent ci, Rect *digitizerRect, PixMap **dest, Rect *destRect, MatrixRecord *m) FIVEWORDINLINE(0x2F3C, 0x10, 0x32, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDPreflightGlobalRect(VideoDigitizerComponent ci, GrafPtr theWindow, Rect *globalRect) FIVEWORDINLINE(0x2F3C, 0x8, 0x33, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetPlayThruGlobalRect(VideoDigitizerComponent ci, GrafPtr theWindow, Rect *globalRect) FIVEWORDINLINE(0x2F3C, 0x8, 0x34, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetInputGammaRecord(VideoDigitizerComponent ci, VDGamRecPtr inputGammaPtr) FIVEWORDINLINE(0x2F3C, 0x4, 0x35, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetInputGammaRecord(VideoDigitizerComponent ci, VDGamRecPtr *inputGammaPtr) FIVEWORDINLINE(0x2F3C, 0x4, 0x36, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetBlackLevelValue(VideoDigitizerComponent ci, unsigned short *blackLevel) FIVEWORDINLINE(0x2F3C, 0x4, 0x37, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetBlackLevelValue(VideoDigitizerComponent ci, unsigned short *blackLevel) FIVEWORDINLINE(0x2F3C, 0x4, 0x38, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetWhiteLevelValue(VideoDigitizerComponent ci, unsigned short *whiteLevel) FIVEWORDINLINE(0x2F3C, 0x4, 0x39, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetWhiteLevelValue(VideoDigitizerComponent ci, unsigned short *whiteLevel) FIVEWORDINLINE(0x2F3C, 0x4, 0x3A, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetVideoDefaults(VideoDigitizerComponent ci, unsigned short *blackLevel, unsigned short *whiteLevel, unsigned short *brightness, unsigned short *hue, unsigned short *saturation, unsigned short *contrast, unsigned short *sharpness) FIVEWORDINLINE(0x2F3C, 0x1C, 0x3B, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetNumberOfInputs(VideoDigitizerComponent ci, short *inputs) FIVEWORDINLINE(0x2F3C, 0x4, 0x3C, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetInputFormat(VideoDigitizerComponent ci, short input, short *format) FIVEWORDINLINE(0x2F3C, 0x6, 0x3D, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetInput(VideoDigitizerComponent ci, short input) FIVEWORDINLINE(0x2F3C, 0x2, 0x3E, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetInput(VideoDigitizerComponent ci, short *input) FIVEWORDINLINE(0x2F3C, 0x4, 0x3F, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetInputStandard(VideoDigitizerComponent ci, short inputStandard) FIVEWORDINLINE(0x2F3C, 0x2, 0x40, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetupBuffers(VideoDigitizerComponent ci, VdigBufferRecListHandle bufferList) FIVEWORDINLINE(0x2F3C, 0x4, 0x41, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGrabOneFrameAsync(VideoDigitizerComponent ci, short buffer) FIVEWORDINLINE(0x2F3C, 0x2, 0x42, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDDone(VideoDigitizerComponent ci, short buffer) FIVEWORDINLINE(0x2F3C, 0x2, 0x43, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetCompression(VideoDigitizerComponent ci, OSType compressType, short depth, Rect *bounds, CodecQ spatialQuality, CodecQ temporalQuality, long keyFrameRate) FIVEWORDINLINE(0x2F3C, 0x16, 0x44, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDCompressOneFrameAsync(VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0, 0x45, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDCompressDone(VideoDigitizerComponent ci, Boolean *done, Ptr *theData, long *dataSize, unsigned char *similarity, TimeRecord *t) FIVEWORDINLINE(0x2F3C, 0x14, 0x46, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDReleaseCompressBuffer(VideoDigitizerComponent ci, Ptr bufferAddr) FIVEWORDINLINE(0x2F3C, 0x4, 0x47, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetImageDescription(VideoDigitizerComponent ci, ImageDescriptionHandle desc) FIVEWORDINLINE(0x2F3C, 0x4, 0x48, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDResetCompressSequence(VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0, 0x49, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetCompressionOnOff(VideoDigitizerComponent ci, Boolean state) FIVEWORDINLINE(0x2F3C, 0x2, 0x4A, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetCompressionTypes(VideoDigitizerComponent ci, VDCompressionListHandle h) FIVEWORDINLINE(0x2F3C, 0x4, 0x4B, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetTimeBase(VideoDigitizerComponent ci, TimeBase t) FIVEWORDINLINE(0x2F3C, 0x4, 0x4C, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDSetFrameRate(VideoDigitizerComponent ci, Fixed framesPerSecond) FIVEWORDINLINE(0x2F3C, 0x4, 0x4D, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetDataRate(VideoDigitizerComponent ci, long *milliSecPerFrame, Fixed *framesPerSecond, long *bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0xC, 0x4E, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetSoundInputDriver(VideoDigitizerComponent ci, Str255 soundDriverName) FIVEWORDINLINE(0x2F3C, 0x4, 0x4F, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetDMADepths(VideoDigitizerComponent ci, long *depthArray, long *preferredDepth) FIVEWORDINLINE(0x2F3C, 0x8, 0x50, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDGetPreferredTimeScale(VideoDigitizerComponent ci, TimeScale *preferred) FIVEWORDINLINE(0x2F3C, 0x4, 0x51, 0x7000, 0xA82A); extern pascal VideoDigitizerError VDReleaseAsyncBuffers(VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0, 0x52, 0x7000, 0xA82A); #ifdef __cplusplus } #endif enum { kSelectVDGetMaxSrcRect = 0x1, kSelectVDGetActiveSrcRect = 0x2, kSelectVDSetDigitizerRect = 0x3, kSelectVDGetDigitizerRect = 0x4, kSelectVDGetVBlankRect = 0x5, kSelectVDGetMaskPixMap = 0x6, kSelectVDGetPlayThruDestination = 0x8, kSelectVDUseThisCLUT = 0x9, kSelectVDSetInputGammaValue = 0xA, kSelectVDGetInputGammaValue = 0xB, kSelectVDSetBrightness = 0xC, kSelectVDGetBrightness = 0xD, kSelectVDSetContrast = 0xE, kSelectVDSetHue = 0xF, kSelectVDSetSharpness = 0x10, kSelectVDSetSaturation = 0x11, kSelectVDGetContrast = 0x12, kSelectVDGetHue = 0x13, kSelectVDGetSharpness = 0x14, kSelectVDGetSaturation = 0x15, kSelectVDGrabOneFrame = 0x16, kSelectVDGetMaxAuxBuffer = 0x17, kSelectVDGetDigitizerInfo = 0x19, kSelectVDGetCurrentFlags = 0x1A, kSelectVDSetKeyColor = 0x1B, kSelectVDGetKeyColor = 0x1C, kSelectVDAddKeyColor = 0x1D, kSelectVDGetNextKeyColor = 0x1E, kSelectVDSetKeyColorRange = 0x1F, kSelectVDGetKeyColorRange = 0x20, kSelectVDSetDigitizerUserInterrupt = 0x21, kSelectVDSetInputColorSpaceMode = 0x22, kSelectVDGetInputColorSpaceMode = 0x23, kSelectVDSetClipState = 0x24, kSelectVDGetClipState = 0x25, kSelectVDSetClipRgn = 0x26, kSelectVDClearClipRgn = 0x27, kSelectVDGetCLUTInUse = 0x28, kSelectVDSetPLLFilterType = 0x29, kSelectVDGetPLLFilterType = 0x2A, kSelectVDGetMaskandValue = 0x2B, kSelectVDSetMasterBlendLevel = 0x2C, kSelectVDSetPlayThruDestination = 0x2D, kSelectVDSetPlayThruOnOff = 0x2E, kSelectVDSetFieldPreference = 0x2F, kSelectVDGetFieldPreference = 0x30, kSelectVDPreflightDestination = 0x32, kSelectVDPreflightGlobalRect = 0x33, kSelectVDSetPlayThruGlobalRect = 0x34, kSelectVDSetInputGammaRecord = 0x35, kSelectVDGetInputGammaRecord = 0x36, kSelectVDSetBlackLevelValue = 0x37, kSelectVDGetBlackLevelValue = 0x38, kSelectVDSetWhiteLevelValue = 0x39, kSelectVDGetWhiteLevelValue = 0x3A, kSelectVDGetVideoDefaults = 0x3B, kSelectVDGetNumberOfInputs = 0x3C, kSelectVDGetInputFormat = 0x3D, kSelectVDSetInput = 0x3E, kSelectVDGetInput = 0x3F, kSelectVDSetInputStandard = 0x40, kSelectVDSetupBuffers = 0x41, kSelectVDGrabOneFrameAsync = 0x42, kSelectVDDone = 0x43, kSelectVDSetCompression = 0x44, kSelectVDCompressOneFrameAsync = 0x45, kSelectVDCompressDone = 0x46, kSelectVDReleaseCompressBuffer = 0x47, kSelectVDGetImageDescription = 0x48, kSelectVDResetCompressSequence = 0x49, kSelectVDSetCompressionOnOff = 0x4A, kSelectVDGetCompressionTypes = 0x4B, kSelectVDSetTimeBase = 0x4C, kSelectVDSetFrameRate = 0x4D, kSelectVDGetDataRate = 0x4E, kSelectVDGetSoundInputDriver = 0x4F, kSelectVDGetDMADepths = 0x50, kSelectVDGetPreferredTimeScale = 0x51, kSelectVDReleaseAsyncBuffers = 0x52 }; #define StandardCompressionType 'scdi' #define StandardCompressionSubType 'imag' typedef pascal Boolean (*SCModalFilterProcPtr)(DialogPtr theDialog, EventRecord *theEvent, short *itemHit, long refcon); enum { uppSCModalFilterProcInfo = kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(Boolean))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DialogPtr))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(EventRecord*))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(short*))) | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr SCModalFilterUPP; #define CallSCModalFilterProc(userRoutine, theDialog, theEvent, itemHit, refcon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppSCModalFilterProcInfo, (theDialog), (theEvent), (itemHit), (refcon)) #define NewSCModalFilterProc(userRoutine) \ (SCModalFilterUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCModalFilterProcInfo, GetCurrentISA()) #else typedef SCModalFilterProcPtr SCModalFilterUPP; #define CallSCModalFilterProc(userRoutine, theDialog, theEvent, itemHit, refcon) \ (*(userRoutine))((theDialog), (theEvent), (itemHit), (refcon)) #define NewSCModalFilterProc(userRoutine) \ (SCModalFilterUPP)(userRoutine) #endif typedef pascal short (*SCModalHookProcPtr)(DialogPtr theDialog, short itemHit, void *params, long refcon); enum { uppSCModalHookProcInfo = kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(short))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DialogPtr))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void*))) | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr SCModalHookUPP; #define CallSCModalHookProc(userRoutine, theDialog, itemHit, params, refcon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppSCModalHookProcInfo, (theDialog), (itemHit), (params), (refcon)) #define NewSCModalHookProc(userRoutine) \ (SCModalHookUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCModalHookProcInfo, GetCurrentISA()) #else typedef SCModalHookProcPtr SCModalHookUPP; #define CallSCModalHookProc(userRoutine, theDialog, itemHit, params, refcon) \ (*(userRoutine))((theDialog), (itemHit), (params), (refcon)) #define NewSCModalHookProc(userRoutine) \ (SCModalHookUPP)(userRoutine) #endif #define scListEveryCodec (1L<<1) #define scAllowZeroFrameRate (1L<<2) #define scAllowZeroKeyFrameRate (1L<<3) #define scShowBestDepth (1L<<4) #define scUseMovableModal (1L<<5) #define scPreferCropping (1<<0) #define scPreferScaling (1<<1) #define scPreferScalingAndCropping (scPreferScaling + scPreferCropping) #define scTestImageWidth 80 #define scTestImageHeight 80 #define scOKItem 1 #define scCancelItem 2 #define scCustomItem 3 #define scUserCancelled 1 #define scPositionRect 2 #define scPositionDialog 3 #define scSetTestImagePictHandle 4 #define scSetTestImagePictFile 5 #define scSetTestImagePixMap 6 #define scGetBestDeviceRect 7 #define scRequestImageSettings 10 #define scCompressImage 11 #define scCompressPicture 12 #define scCompressPictureFile 13 #define scRequestSequenceSettings 14 #define scCompressSequenceBegin 15 #define scCompressSequenceFrame 16 #define scCompressSequenceEnd 17 #define scDefaultPictHandleSettings 18 #define scDefaultPictFileSettings 19 #define scDefaultPixMapSettings 20 #define scGetInfo 21 #define scSetInfo 22 #define scNewGWorld 23 #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct SCSpatialSettings { CodecType codecType; CodecComponent codec; short depth; CodecQ spatialQuality; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct SCSpatialSettings SCSpatialSettings; #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct SCTemporalSettings { CodecQ temporalQuality; Fixed frameRate; long keyFrameRate; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct SCTemporalSettings SCTemporalSettings; #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct SCDataRateSettings { long dataRate; long frameDuration; CodecQ minSpatialQuality; CodecQ minTemporalQuality; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct SCDataRateSettings SCDataRateSettings; #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct SCExtendedProcs { SCModalFilterUPP filterProc; SCModalHookUPP hookProc; long refcon; Str31 customName; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct SCExtendedProcs SCExtendedProcs; #define scSpatialSettingsType 'sptl' #define scTemporalSettingsType 'tprl' #define scDataRateSettingsType 'drat' #define scColorTableType 'clut' #define scProgressProcType 'prog' #define scExtendedProcsType 'xprc' #define scPreferenceFlagsType 'pref' #define scSettingsStateType 'ssta' #define scSequenceIDType 'sequ' #define scWindowPositionType 'wndw' #define scCodecFlagsType 'cflg' #define scCodecSettingsType 'cdec' #ifdef __cplusplus extern "C" { #endif extern pascal ComponentResult SCPositionRect(ComponentInstance ci, Rect *rp, Point *where) FIVEWORDINLINE(0x2F3C, 0x8, 0x2, 0x7000, 0xA82A); extern pascal ComponentResult SCPositionDialog(ComponentInstance ci, short id, Point *where) FIVEWORDINLINE(0x2F3C, 0x6, 0x3, 0x7000, 0xA82A); extern pascal ComponentResult SCSetTestImagePictHandle(ComponentInstance ci, PicHandle testPict, Rect *testRect, short testFlags) FIVEWORDINLINE(0x2F3C, 0xA, 0x4, 0x7000, 0xA82A); extern pascal ComponentResult SCSetTestImagePictFile(ComponentInstance ci, short testFileRef, Rect *testRect, short testFlags) FIVEWORDINLINE(0x2F3C, 0x8, 0x5, 0x7000, 0xA82A); extern pascal ComponentResult SCSetTestImagePixMap(ComponentInstance ci, PixMapHandle testPixMap, Rect *testRect, short testFlags) FIVEWORDINLINE(0x2F3C, 0xA, 0x6, 0x7000, 0xA82A); extern pascal ComponentResult SCGetBestDeviceRect(ComponentInstance ci, Rect *r) FIVEWORDINLINE(0x2F3C, 0x4, 0x7, 0x7000, 0xA82A); extern pascal ComponentResult SCRequestImageSettings(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0, 0xA, 0x7000, 0xA82A); extern pascal ComponentResult SCCompressImage(ComponentInstance ci, PixMapHandle src, Rect *srcRect, ImageDescriptionHandle *desc, Handle *data) FIVEWORDINLINE(0x2F3C, 0x10, 0xB, 0x7000, 0xA82A); extern pascal ComponentResult SCCompressPicture(ComponentInstance ci, PicHandle srcPicture, PicHandle dstPicture) FIVEWORDINLINE(0x2F3C, 0x8, 0xC, 0x7000, 0xA82A); extern pascal ComponentResult SCCompressPictureFile(ComponentInstance ci, short srcRefNum, short dstRefNum) FIVEWORDINLINE(0x2F3C, 0x4, 0xD, 0x7000, 0xA82A); extern pascal ComponentResult SCRequestSequenceSettings(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0, 0xE, 0x7000, 0xA82A); extern pascal ComponentResult SCCompressSequenceBegin(ComponentInstance ci, PixMapHandle src, Rect *srcRect, ImageDescriptionHandle *desc) FIVEWORDINLINE(0x2F3C, 0xC, 0xF, 0x7000, 0xA82A); extern pascal ComponentResult SCCompressSequenceFrame(ComponentInstance ci, PixMapHandle src, Rect *srcRect, Handle *data, long *dataSize, short *notSyncFlag) FIVEWORDINLINE(0x2F3C, 0x14, 0x10, 0x7000, 0xA82A); extern pascal ComponentResult SCCompressSequenceEnd(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0, 0x11, 0x7000, 0xA82A); extern pascal ComponentResult SCDefaultPictHandleSettings(ComponentInstance ci, PicHandle srcPicture, short motion) FIVEWORDINLINE(0x2F3C, 0x6, 0x12, 0x7000, 0xA82A); extern pascal ComponentResult SCDefaultPictFileSettings(ComponentInstance ci, short srcRef, short motion) FIVEWORDINLINE(0x2F3C, 0x4, 0x13, 0x7000, 0xA82A); extern pascal ComponentResult SCDefaultPixMapSettings(ComponentInstance ci, PixMapHandle src, short motion) FIVEWORDINLINE(0x2F3C, 0x6, 0x14, 0x7000, 0xA82A); extern pascal ComponentResult SCGetInfo(ComponentInstance ci, OSType type, void *info) FIVEWORDINLINE(0x2F3C, 0x8, 0x15, 0x7000, 0xA82A); extern pascal ComponentResult SCSetInfo(ComponentInstance ci, OSType type, void *info) FIVEWORDINLINE(0x2F3C, 0x8, 0x16, 0x7000, 0xA82A); extern pascal ComponentResult SCNewGWorld(ComponentInstance ci, GWorldPtr *gwp, Rect *rp, GWorldFlags flags) FIVEWORDINLINE(0x2F3C, 0xC, 0x17, 0x7000, 0xA82A); #ifdef __cplusplus } #endif #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct SCParams { long flags; CodecType theCodecType; CodecComponent theCodec; CodecQ spatialQuality; CodecQ temporalQuality; short depth; Fixed frameRate; long keyFrameRate; long reserved1; long reserved2; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct SCParams SCParams; #define scGetCompression 1 #define scShowMotionSettings (1L<<0) #define scSettingsChangedItem -1 #ifdef __cplusplus extern "C" { #endif extern pascal ComponentResult SCGetCompressionExtended(long ci, SCParams *params, Point where, SCModalFilterUPP filterProc, SCModalHookUPP hookProc, long refcon, StringPtr customName) FIVEWORDINLINE(0x2F3C, 0x18, 0x1, 0x7000, 0xA82A); #define SCGetCompression(ci, params, where) SCGetCompressionExtended(ci,params,where,0,0,0,0) #ifdef __cplusplus } #endif typedef ComponentInstance MovieImportComponent, MovieExportComponent; #define MovieImportType 'eat ' #define MovieExportType 'spit' enum { canMovieImportHandles = 1, canMovieImportFiles = 2, hasMovieImportUserInterface = 4, canMovieExportHandles = 8, canMovieExportFiles = 16, hasMovieExportUserInterface = 32, dontAutoFileMovieImport = 64, canMovieExportAuxDataHandle = 128, canMovieImportValidateHandles = 256, canMovieImportValidateFile = 512, dontRegisterWithEasyOpen = 1024 }; enum { kMovieImportExportOpenSelect = kComponentOpenSelect, kMovieImportExportCloseSelect = kComponentCloseSelect, kMovieImportExportCanDoSelect = kComponentCanDoSelect, kMovieImportExportVersionSelect = kComponentVersionSelect, kMovieImportHandleSelect = 1, kMovieImportFileSelect = 2, kMovieImportSetSampleDurationSelect = 3, kMovieImportSetSampleDescriptionSelect = 4, kMovieImportSetMediaFileSelect = 5, kMovieImportSetDimensionsSelect = 6, kMovieImportSetChunkSizeSelect = 7, kMovieImportSetProgressProcSelect = 8, kMovieImportSetAuxiliaryDataSelect = 9, kMovieImportSetFromScrapSelect = 10, kMovieImportDoUserDialogSelect = 11, kMovieImportSetDurationSelect = 12, kMovieImportGetAuxiliaryDataTypeSelect = 13, kMovieImportValidateSelect = 14, kMovieExportToHandleSelect = 128, kMovieExportToFileSelect = 129, kMovieExportDoUserDialogSelect = 130, kMovieExportGetAuxiliaryDataSelect = 131, kMovieExportSetProgressProcSelect = 132, kMovieExportSetSampleDescriptionSelect = 133 }; enum { movieImportCreateTrack = 1, movieImportInParallel = 2, movieImportMustUseTrack = 4 }; enum { movieImportResultUsedMultipleTracks = 8 }; #ifdef __cplusplus extern "C" { #endif extern pascal ComponentResult MovieImportHandle(MovieImportComponent ci, Handle dataH, Movie theMovie, Track targetTrack, Track *usedTrack, TimeValue atTime, TimeValue *addedDuration, long inFlags, long *outFlags) FIVEWORDINLINE(0x2F3C, 0x20, 0x1, 0x7000, 0xA82A); extern pascal ComponentResult MovieImportFile(MovieImportComponent ci, const FSSpec *theFile, Movie theMovie, Track targetTrack, Track *usedTrack, TimeValue atTime, TimeValue *addedDuration, long inFlags, long *outFlags) FIVEWORDINLINE(0x2F3C, 0x20, 0x2, 0x7000, 0xA82A); extern pascal ComponentResult MovieImportSetSampleDuration(MovieImportComponent ci, TimeValue duration, TimeScale scale) FIVEWORDINLINE(0x2F3C, 0x8, 0x3, 0x7000, 0xA82A); extern pascal ComponentResult MovieImportSetSampleDescription(MovieImportComponent ci, SampleDescriptionHandle desc, OSType mediaType) FIVEWORDINLINE(0x2F3C, 0x8, 0x4, 0x7000, 0xA82A); extern pascal ComponentResult MovieImportSetMediaFile(MovieImportComponent ci, AliasHandle alias) FIVEWORDINLINE(0x2F3C, 0x4, 0x5, 0x7000, 0xA82A); extern pascal ComponentResult MovieImportSetDimensions(MovieImportComponent ci, Fixed width, Fixed height) FIVEWORDINLINE(0x2F3C, 0x8, 0x6, 0x7000, 0xA82A); extern pascal ComponentResult MovieImportSetChunkSize(MovieImportComponent ci, long chunkSize) FIVEWORDINLINE(0x2F3C, 0x4, 0x7, 0x7000, 0xA82A); extern pascal ComponentResult MovieImportSetProgressProc(MovieImportComponent ci, MovieProgressUPP proc, long refcon) FIVEWORDINLINE(0x2F3C, 0x8, 0x8, 0x7000, 0xA82A); extern pascal ComponentResult MovieImportSetAuxiliaryData(MovieImportComponent ci, Handle data, OSType handleType) FIVEWORDINLINE(0x2F3C, 0x8, 0x9, 0x7000, 0xA82A); extern pascal ComponentResult MovieImportSetFromScrap(MovieImportComponent ci, Boolean fromScrap) FIVEWORDINLINE(0x2F3C, 0x2, 0xA, 0x7000, 0xA82A); extern pascal ComponentResult MovieImportDoUserDialog(MovieImportComponent ci, const FSSpec *theFile, Handle theData, Boolean *canceled) FIVEWORDINLINE(0x2F3C, 0xC, 0xB, 0x7000, 0xA82A); extern pascal ComponentResult MovieImportSetDuration(MovieImportComponent ci, TimeValue duration) FIVEWORDINLINE(0x2F3C, 0x4, 0xC, 0x7000, 0xA82A); extern pascal ComponentResult MovieImportGetAuxiliaryDataType(MovieImportComponent ci, OSType *auxType) FIVEWORDINLINE(0x2F3C, 0x4, 0xD, 0x7000, 0xA82A); extern pascal ComponentResult MovieImportValidate(MovieImportComponent ci, const FSSpec *theFile, Handle theData, Boolean *valid) FIVEWORDINLINE(0x2F3C, 0xC, 0xE, 0x7000, 0xA82A); extern pascal ComponentResult MovieExportToHandle(MovieExportComponent ci, Handle dataH, Movie theMovie, Track onlyThisTrack, TimeValue startTime, TimeValue duration) FIVEWORDINLINE(0x2F3C, 0x14, 0x80, 0x7000, 0xA82A); extern pascal ComponentResult MovieExportToFile(MovieExportComponent ci, const FSSpec *theFile, Movie theMovie, Track onlyThisTrack, TimeValue startTime, TimeValue duration) FIVEWORDINLINE(0x2F3C, 0x14, 0x81, 0x7000, 0xA82A); extern pascal ComponentResult MovieExportDoUserDialog(MovieExportComponent ci, const FSSpec *theFile, Handle theData, Boolean *canceled) FIVEWORDINLINE(0x2F3C, 0xC, 0x82, 0x7000, 0xA82A); extern pascal ComponentResult MovieExportGetAuxiliaryData(MovieExportComponent ci, Handle dataH, OSType *handleType) FIVEWORDINLINE(0x2F3C, 0x8, 0x83, 0x7000, 0xA82A); extern pascal ComponentResult MovieExportSetProgressProc(MovieExportComponent ci, MovieProgressUPP proc, long refcon) FIVEWORDINLINE(0x2F3C, 0x8, 0x84, 0x7000, 0xA82A); extern pascal ComponentResult MovieExportSetSampleDescription(MovieExportComponent ci, SampleDescriptionHandle desc, OSType mediaType) FIVEWORDINLINE(0x2F3C, 0x8, 0x85, 0x7000, 0xA82A); #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct TextDisplayData { long displayFlags; long textJustification; RGBColor bgColor; Rect textBox; short beginHilite; short endHilite; RGBColor hiliteColor; Boolean doHiliteColor; TimeValue scrollDelayDur; Point dropShadowOffset; short dropShadowTransparency; }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct TextDisplayData TextDisplayData; typedef ComponentInstance TextExportComponent; extern pascal ComponentResult TextExportGetDisplayData(TextExportComponent ci, TextDisplayData *textDisplay) FIVEWORDINLINE(0x2F3C, 0x4, 0x100, 0x7000, 0xA82A); #ifdef __cplusplus } #endif typedef ComponentInstance pnotComponent; enum { pnotComponentWantsEvents = 1, pnotComponentNeedsNoCache = 2 }; enum { kPreviewOpenSelector = 0, kPreviewCloseSelector = -1, kPreviewCanDoSelector = -2, kPreviewVersionSelector = -3, kPreviewShowDataSelector = 1, kPreviewMakePreviewSelector = 2, kPreviewMakePreviewReferenceSelector = 3, kPreviewEventSelector = 4 }; #define ShowFilePreviewComponentType 'pnot' #define CreateFilePreviewComponentType 'pmak' #ifdef __cplusplus extern "C" { #endif extern pascal ComponentResult PreviewShowData(pnotComponent p, OSType dataType, Handle data, const Rect *inHere) FIVEWORDINLINE(0x2F3C, 0xC, 0x1, 0x7000, 0xA82A); extern pascal ComponentResult PreviewMakePreview(pnotComponent p, OSType *previewType, Handle *previewResult, const FSSpec *sourceFile, ICMProgressProcRecordPtr progress) FIVEWORDINLINE(0x2F3C, 0x10, 0x2, 0x7000, 0xA82A); extern pascal ComponentResult PreviewMakePreviewReference(pnotComponent p, OSType *previewType, short *resID, const FSSpec *sourceFile) FIVEWORDINLINE(0x2F3C, 0xC, 0x3, 0x7000, 0xA82A); extern pascal ComponentResult PreviewEvent(pnotComponent p, EventRecord *e, Boolean *handledEvent) FIVEWORDINLINE(0x2F3C, 0x8, 0x4, 0x7000, 0xA82A); #ifdef __cplusplus } #endif #endif